#include "utiles.h"

void Imagen::recorta(double M,double m)
{
  // recorta los valores mayores que M y menores que m

  int largo=dim[0]*dim[1];
  for(int i=0;i<largo;i++)
    {
      datos[i]=min(datos[i],M);
      datos[i]=max(datos[i],m);
    }
}



std:: string int2string(int n){
std:: stringstream flux;
flux << n;
return(flux.str());
}

int redondear(double x)
{
if(x>=0.5){return ceil(x);}else{return floor(x);}
}

//Lee los segementos escritos en la lista "lista_char" y los escribe en segmetnsImage.
void readSegmentsFromFile( char * lista_char, Segments& segmentsImage){

    int n_segmentos=0;

    //abrimos los archivos
    FILE	*fp;
    fp= fopen(lista_char,"r");
    if (fp==NULL){
        fprintf(stderr,"Error de apertura de archivo de lista\n");
        }
    fscanf(fp, "\n");

    //reading the first Image segments
    fscanf(fp, "%d\n", &n_segmentos);

    //read the data in file and store in the segmetns vectorśś
    for(int i=0;i<n_segmentos;i++){
        Segment tmpSegmentImage;
        fscanf(fp,"%lf %lf %lf %lf\n",&tmpSegmentImage.initial_point.x,&tmpSegmentImage.initial_point.y,&tmpSegmentImage.final_point.x,&tmpSegmentImage.final_point.y);
        segmentsImage.push_back(tmpSegmentImage);
        }

    fclose(fp);
    }
